import {
  addPost,
  deletePost,
  getPosts,
  // getPostById,
  modifyPost,
} from "@/services/postService";

// 仓库模块化声明
export default {
  // 命名空间
  namespaced: true,

  // 数据
  state: {
    isLoading: true,
    posts: [],
  },

  // 同步方法
  mutations: {
    // 设置是否正在加载
    setIsLoading(state, payload) {
      state.isLoading = payload;
    },
    // 设置posts帖子数组
    setPosts(state, payload) {
      state.posts = payload;
    },
  },

  // 异步方法
  actions: {
    // 新增帖子
    async addPostAsync(context, payload) {
      context.commit("setIsLoading", true);
      let resp = await addPost(payload);
      console.log(resp);
      context.commit("setIsLoading", false);
    },

    // 删除帖子
    async deletePostAsync(context, payload) {
      context.commit("setIsLoading", true);
      let resp = await deletePost(payload);
      console.log(resp);
      context.commit("setIsLoading", false);
    },

    // 查找帖子
    async getPostsAsync(context) {
      context.commit("setIsLoading", true);
      let resp = await getPosts();
      console.log(resp);
      context.commit("setPosts", resp.data.rows);
      context.commit("setIsLoading", false);
    },

    // 修改帖子
    async modifyPostAsync(context, payload) {
      context.commit("setIsLoading", true);
      let resp = await modifyPost(payload);
      console.log(resp);
      context.commit("setIsLoading", false);
    },
  },
};
